//1.引入axios模块
import axios from 'axios'

//2.全局配置  

// 统一请求接口地址
axios.defaults.baseURL = 'http://localhost:8888/api/private/v1'

// 添加请求拦截器（自定义请求头
axios.interceptors.request.use(function (config) {
    //1.获取token
    var token = localStorage.getItem('token') || ''
    //2.判断
    if (token) {
        //设置请求头（后期请求接口 http请求头携带Authorization参数）
        config.headers['Authorization'] = token
    }
    return config
}, function (error) {
    // Do something with request error
    return Promise.reject(error)
})
// 另一种方式自定义请求头
// var token = localStorage.getItem('token') ||  'Bear'
// axios.defaults.headers.common['Authorization'] = token

// 响应拦截（统一错误处理等


// 语法
// GET      axios.get(请求路径，{headers: , params: 数据对象})   
//          axios.get(请求路径，{params: {uname:'aaa', pwd:'bbb'}})   
// POST     axios.post(请求路径，数据对象)   
// PUT      axios.put(请求路径，数据对象)   
// DELETE   axios.delete(`请求路径/${id}`)   

// 统一：HTTP请求动词+模块名Api 

//登录
export const postLoginApi = params => { // params必须是一个对象 而且必须username&password 接口定的
    // axios.post返回的HTTP状态码信息   res.data里面是接口数据
    // 第一个then结果会交给第二个then继续处理
    // 所以：我们直接处理好 后期调用直接使用即可
    return axios.post('login', params).then(res => res.data)
}

// 商品模块

// 列表
export const getGoodsApi = getParamsData => { // {query pagenum pagesize}
    return axios.get('goods', {
        params: getParamsData
    }).then(res => res.data)
}
// 删除
export const deleteGoodsApi = id => {
    // return axios.delete(`goods/:id`).then(res=>res.data)
    return axios.delete(`goods/${id}`).then(res=>res.data)
}

// 订单模块-列表
export const getOrdersApi = getParamsData => { // { pagenum pagesize } 
    return axios.get('orders', {params: getParamsData}).then(res=> res.data)
}